package org.xx.armory.db.impl;

import org.xx.armory.db.Parameter;

/**
 * 基础SQL参数构造器。
 *
 * @author Haart
 */
final class SimpleParameterBuilder
        extends AbstractParameterBuilder {
    /**
     * 构造基础SQL参数构造器。
     *
     * @param name
     *         参数名。
     * @throws IllegalArgumentException
     *         如果参数{@code session}是{@code null}或者{@code name}是{@code null}或者参数{@code name}只包含空白字符。
     */
    public SimpleParameterBuilder(
            AbstractSession session,
            String name
    ) {
        super(session, name);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public final Parameter build() {
        beforeBuild();

        return new SimpleParameter(getName(), getType(), getDirections(), getMatch(), getValue());
    }

}
